10 Février 2012    

La lettre de mars 2010

Archives

[AVIS D'EXPERT] L’amélioration des processus des tests est une urgence économique !

Editorial - la lettre de mars 2010

BERNARD HOMES, PRESIDENT DU COMITE FRANCAIS DES TESTS LOGICELS (CFTL) , PLAIDE POUR UN DEVELOPPEMENT EFICACE.  L’efficacité du développement logiciel a fait l’objet de nombreuses actions : nouveaux langages, nouveaux paradigmes et nouvelles méthodologies. Or, la qualité des logiciels ne s’est pas améliorée, les coûts ont continué à croître, les délais à s’allonger. « Que fait la qualité, à quoi servent les testeurs ? » la question mérite d'être posée.

C'est la réflexion de Bernard Homès, Président du Comité Français des tests logicels (CFTL) dans son intervention du 30 mars 2010, lors de la Journée Française des Tests Logiciels.
Portrait en fin d'article.

Les développements logiciels coûtent de plus en plus cher. Avec une part correspondant à 30%, voire 50% du coût total de développement, les tests en sont une partie non négligeable. Malgré de nombreux efforts, la qualité des logiciels ne semble pas s’améliorer pour autant. L’actualité récente (plusieurs millions d’utilisateurs de cartes bancaires allemands pris en otage en Janvier 2010 ; le fleuron d’Airbus obligé de faire demi-tour le 20 novembre 2009 pour une panne de pilote automatique, etc.) nous le rappelle fréquemment.
Selon des études récentes (issues de Estimating Software Costs, Capers Jones, 2008, McGraw Hill, ISBN: 978-0-07-148300-1), le niveau de qualité des logiciels livrés est encore fortement améliorable, les meilleures sociétés ne découvrant et ne corrigeant que 85% des défauts et livrant, avec le logiciel les 15% de défauts restants. Dès que l’on parle de milliers de défauts, 15% devient un nombre important.

Les coûts ont continué à croître, les délais à s’allonger

L’augmentation sans cesse croissante de la complexité des applications et du nombre d’interactions entre les logiciels (p.ex. Cloud, SaaS, etc.) fait qu’un défaut dans un autre composant peut influencer le fonctionnement de votre propre logiciel ou système. Pour vous en prémunir, il est nécessaire de faire des tests exhaustifs, ce qui est difficilement justifiable économiquement, voire impossible en termes de délais et de charge.
Dans un contexte de compétition internationale, de recherche de rentabilité et de compétitivité, il est indispensable d’améliorer l’efficacité des processus de développement et de test.
L’efficacité des développements logiciels a fait l’objet de nombreuses actions ; nouveaux langages, de nouveaux paradigmes et nouvelles méthodologies. Or, la qualité des logiciels ne s’est pas améliorée sensiblement, les coûts ont continué à croître, les délais à s’allonger. « Que fait la qualité, à quoi servent les testeurs ? » est une question qu’on est en droit de poser.

Frustration, exaspération et nuits blanches

Depuis la publication des premiers ouvrages de vulgarisation sur les tests, il y a plus de 30 ans, de nombreux milliards de dollars (puis d’euros) se sont envolés en fumée, reflétant frustration des utilisateurs, exaspération des testeurs et nuits blanches des développeurs. Et cela, malgré les nombreux livres de référence et outils de tests existant à ce jour.
Dans le même temps, des organismes se sont penchés sur l’amélioration des processus et ont proposé des programmes d’évaluation (CMMI, SPICE, ISO9000, etc.) qui ont démontré leur intérêt économique, entre autre l’aspect d’amélioration continue des processus, seul à même de proposer une réduction des coûts à long terme.

Il y a plusieurs méthodes d’amélioration de processus de test

L’efficacité des processus et techniques de test est dépendante du contexte où ils sont utilisés, et seule une amélioration continue garantit leur efficacité accrue. L’amélioration des processus de test, pour en réduire les coûts et la durée ou augmenter leur efficacité, est un objectif affiché par tous. Cependant, ceci ne peut se faire qu’avec un niveau de référence à partir duquel comparer les évolutions.
Plusieurs méthodes d’amélioration de processus existent. Elles se regroupent en deux familles : celle à modèle de référence externe où l’on compare les processus par rapport à un référentiel idéal (p.ex. TPI, TMMI, CMMI) ; ou celle à modèle de référence interne, où le référentiel est la société elle même, et ses propres processus (p.ex. IMPROVE, PLAN, CTP, STEP, ODC).
L’amélioration des processus basée sur un référentiel externe s’appuie sur des processus établis. Il est donc simple de faire appliquer ces méthodes toutes faites. La mise en œuvre cependant peut ne pas correspondre aux attentes et une autre question peut se poser : quelles actions d’amélioration envisager après que le référentiel externe ait été complètement implémenté ?

Une compétence pointue et une expérience étendue

L’utilisation d’une méthodologie basée sur l’analyse du référentiel interne de l’entreprise est automatiquement adaptée aux besoins de celle-ci, après une évaluation (un audit) des processus de test et de développement existants, de leur rentabilité respective (en terme de coût, de génération de défauts et d‘efficacité de détection).
L’évaluation des processus et leur pertinence, l’identification des processus à améliorer, la sélection de ceux à améliorer en priorité, et la préconisation d’actions, nécessitent une compétence pointue et une expérience étendue de la part de l’acteur. De tels niveaux de connaissance requièrent des consultants sénior expérimentés. Si leur coût journalier peut paraître élevé, les améliorations qu’ils préconisent étant adaptées aux besoins de l’entreprise, leur rentabilité à court terme est souvent fort élevée.

Combien évaluent actuellement le coût des défauts ?

L’évaluation de la rentabilité des processus doit étudier, outre les coûts de réalisation et le nombre de défauts identifiés, le nombre de défauts qui échappent au processus de détection. Il faut donc prendre en compte les coûts des défauts (et tous les coûts associés à leur correction), lesquels augmentent en cas de détection tardive.
Combien de sociétés évaluent actuellement les coûts de leurs défauts selon le moment où ils sont découverts ? Pourtant ces informations sont disponibles, il suffit de les mesurer.
Combien de responsables de développement sont en mesure d’identifier l’origine d’un défaut, de l’associer à un processus de développement, et de proposer des actions d’amélioration de façon à éviter une répétition de ce défaut dans le futur ? Combien sont en mesure de fournir une évaluation statistique liant les défauts identifiés aux processus de développement qui sont à l’origine de ces défauts ?

Mettre en œuvre plusieurs techniques complémentaires

Certains mettent clairement en avant l’efficacité des processus de test statiques (revues, inspections, analyses de code) et le besoin d’améliorer la qualité des exigences, comme moyens d’atteindre rapidement un niveau de qualité adéquat des développements. Une étude récente (Estimating Software Costs, C.Jones, 2007, Mc Graw Hill, ISBN 978-007148300-1) portant sur plus de 12 000 sociétés a démontré qu’aucune technique individuelle de test ne permettait de trouver plus de 30% des défauts d’une application. Il est donc recommandé de mettre en œuvre plusieurs techniques complémentaires pour assurer une efficacité de détection autour de 85-90%.

Améliorer la rentabilité des processus est un préalable

La sélection des processus à améliorer doit se faire selon leur rentabilité. Celle-ci s’évalue, d’une part en fonction des améliorations immédiates fournies (défauts supplémentaires détectés), et d’autre part en fonction des améliorations induites dans les autres processus. Exemple : un éditeur connu a réussi, par l’application d’inspections formelles (analyse statique) à trouver 50% de défauts de plus que lors des releases précédents, réduisant la durée totale des tests de 15% et la charge de test dynamique de 75%.
mesurer et améliorer la rentabilité des processus du test doit devenir un préalable La détection des défauts et leur correction sont les activités les plus chères du cycle de développement de logiciels. Toute amélioration de ces processus se traduira directement par des réductions de coût, par des développements de qualité et une diminution du nombre de défauts détectés par les utilisateurs.

Il est important de mesurer les activités de tests

Pour les améliorer, il est important de mesurer les activités de tests, et aussi toutes les autres activités liées au cycle de vie des logiciels [plus vaste que le cycle de développement, car un logiciel en maintenance reste une source de coûts de test et de correction], depuis les exigences jusqu’à la maintenance, au support hotline et au SAV, car l’amélioration des processus de test influence aussi ces autres processus. Une mesure en termes d’impact et en termes de volumétrie, aide à déterminer les processus à améliorer en priorité.
La recherche des origines des défauts (Analyse des Causes Racine) permet d’identifier les processus défaillants, à l’origine des défauts. Des méthodes d’amélioration des processus, intégrant les aspects systématiques et statistiques, permettent de garantir un taux de retour sur investissement supérieur aux meilleures sociétés cotées en bourse.
Parce que les tests représentent entre 30 à 50% des coûts de développement, leur amélioration est une urgence économique justifiant un regard appuyé de la part de la direction de nos entreprises. Une amélioration itérative de la rentabilité des processus de test permettra de montrer la maturité de notre profession, notre professionnalisme et notre valeur ajoutée.


L'auteur : Bernard Homès
texte de l'attribut
A 52 ans, Bernard Homès bénéficie de plus de 30 ans d'expérience dans la qualité et le test de logiciels. Il a occupé différents postes clefs à dimension internationale, notamment en tant que Directeur de centre de tests rattaché à la direction générale de SMC International. Depuis 1999, il exerce en qualité de consultant senior « Environnement international qualité et tests de logiciels » pour le compte d’entreprises comme Eurocopter, Alcatel Space, Tessco, Orange France ou encore Crim.
Après des études en informatique à l’ISIB Bruxelles et un Master of Sciences in Computer Information Systems, obtenu en Angleterre, Bernard Homès a passé des certifications de type Certified tester advanced level (Full), ISEB/ISTQB, iSQI et Certified REQB professional – Ingénierie des exigences, GASQ (Allemagne).

Pour aller plus loin

Forum

Vous voulez avoir l'avis d'un expert sur ce sujet ?

Recherche         
fermer